package org.gdstash.description;

import java.util.concurrent.ConcurrentHashMap;

public class TagInfoHashMap {
    public static TagInfoHashMap singleton;
    private ConcurrentHashMap<String, TagInfo> map;

    public static TagInfo getInfo(final String key) {
        return TagInfoHashMap.singleton.get(key);
    }

    static {
        (TagInfoHashMap.singleton = new TagInfoHashMap()).fillMap();
    }

    private TagInfo get(final String key) {
        return this.map.get(key);
    }

    private TagInfoHashMap() {
        this.map = new ConcurrentHashMap<String, TagInfo>();
    }

    private void fillMap() {
        TagInfo info = null;
        info = new TagInfo("DEF_REFLECT", 495);
        this.map.put("defensiveReflect", info);
        info = new TagInfo("DEF_BLOCK_CHANCE", 490, true);
        this.map.put("defensiveBlock", info);
        info = new TagInfo("STAT_SHIELD_RECOVERY_TIME", 485, TagInfo.ValueType.FLOAT, TagInfo.RandCategory.FIXED, true);
        this.map.put("blockRecoveryTime", info);
        info = new TagInfo("DEF_PROTECTION", 480, true);
        this.map.put("defensiveProtection", info);
        info = new TagInfo("DEF_PROTECTION", 475);
        this.map.put("defensiveBonusProtection", info);
        info = new TagInfo("DEF_ARMOR_ABSORPTION", 470);
        this.map.put("defensiveAbsorption", info);
        info = new TagInfo("DEF_BLOCK_AMOUNT", 465);
        this.map.put("defensiveBlockAmount", info);
        info = new TagInfo("DEF_ALL", 385);
        this.map.put("defensiveAll", info);
        info = new TagInfo("DEF_PHYSICAL", 380);
        this.map.put("defensivePhysical", info);
        info = new TagInfo("DEF_PIERCE", 370);
        this.map.put("defensivePierce", info);
        info = new TagInfo("DEF_ELEMENTAL", 360);
        this.map.put("defensiveElemental", info);
        info = new TagInfo("DEF_ELEMENTAL", 360);
        this.map.put("defensiveElementalResistance", info);
        info = new TagInfo("DEF_POISON", 355);
        this.map.put("defensivePoison", info);
        info = new TagInfo("DEF_AETHER", 350);
        this.map.put("defensiveAether", info);
        info = new TagInfo("DEF_CHAOS", 345);
        this.map.put("defensiveChaos", info);
        info = new TagInfo("DEF_COLD", 340);
        this.map.put("defensiveCold", info);
        info = new TagInfo("DEF_FIRE", 335);
        this.map.put("defensiveFire", info);
        info = new TagInfo("DEF_LIGHTNING", 330);
        this.map.put("defensiveLightning", info);
        info = new TagInfo("DEF_LIFE", 325);
        this.map.put("defensiveLife", info);
        info = new TagInfo("DEF_STUN", 95);
        this.map.put("defensiveStun", info);
        info = new TagInfo("DEF_FREEZE", 90);
        this.map.put("defensiveFreeze", info);
        info = new TagInfo("DEF_PETRIFY", 85);
        this.map.put("defensivePetrify", info);
        info = new TagInfo("DEF_SLEEP", 80);
        this.map.put("defensiveSleep", info);
        info = new TagInfo("DEF_TRAP", 75, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("defensiveTrap", info);
        info = new TagInfo("DEF_DISRUPTION", 70);
        this.map.put("defensiveDisruption", info);
        info = new TagInfo("DEF_KNOCKDOWN", 65);
        this.map.put("defensiveKnockdown", info);
        info = new TagInfo("DEF_CONVERT", 60);
        this.map.put("defensiveConvert", info);
        info = new TagInfo("DEF_CONFUSION", 55);
        this.map.put("defensiveConfusion", info);
        info = new TagInfo("DEF_FEAR", 50);
        this.map.put("defensiveFear", info);
        info = new TagInfo("DEF_LIFE_PERC", 45);
        this.map.put("defensivePercentCurrentLife", info);
        info = new TagInfo("DEF_REFLECT_PERC", 40);
        this.map.put("defensivePercentReflectionResistance", info);
        info = new TagInfo("DEF_SLOW_LIFE_LEECH", 35);
        this.map.put("defensiveSlowLifeLeach", info);
        info = new TagInfo("DEF_BLEED", 30);
        this.map.put("defensiveBleeding", info);
        info = new TagInfo("DEF_TOTALSPEED_RES", 25);
        this.map.put("defensiveTotalSpeedResistance", info);
        info = new TagInfo("DEF_SLOW_MANA_LEECH", 20);
        this.map.put("defensiveSlowManaLeach", info);
        info = new TagInfo("DEF_MANA_BURN", 15);
        this.map.put("defensiveManaBurnRatio", info);
        info = new TagInfo("DEF_TAUNT", 10);
        this.map.put("defensiveTaunt", info);
        info = new TagInfo("OFF_WEAPON_DAMAGE", 398, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("weaponDamagePct", info);
        info = new TagInfo("DEF_DAMAGE_ABSORB", 397, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("damageAbsorptionPercent", info);
        info = new TagInfo("STAT_PROJECTILE_PIERCE", 396, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("piercingProjectile", info);
        info = new TagInfo("OFF_PHYSICAL", 395, true);
        this.map.put("offensivePhysical", info);
        info = new TagInfo("OFF_PIERCE_RATIO", 390, TagInfo.FlatCategory.PERCENTAGE, true);
        this.map.put("offensivePierceRatio", info);
        info = new TagInfo("OFF_POISON", 385, true);
        this.map.put("offensiveBasePoison", info);
        info = new TagInfo("OFF_AETHER", 380, true);
        this.map.put("offensiveBaseAether", info);
        info = new TagInfo("OFF_CHAOS", 375, true);
        this.map.put("offensiveBaseChaos", info);
        info = new TagInfo("OFF_COLD", 370, true);
        this.map.put("offensiveBaseCold", info);
        info = new TagInfo("OFF_FIRE", 365, true);
        this.map.put("offensiveBaseFire", info);
        info = new TagInfo("OFF_LIGHTNING", 360, true);
        this.map.put("offensiveBaseLightning", info);
        info = new TagInfo("OFF_LIFE", 355, true);
        this.map.put("offensiveBaseLife", info);
        info = new TagInfo("OFF_LIFE_LEECH", 350, TagInfo.FlatCategory.PERCENTAGE, true, TagInfo.RandCategory.FIXED);
        this.map.put("offensiveLifeLeech", info);
        info = new TagInfo("OFF_TOTALDAMAGE", 345, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveTotalDamage", info);
        info = new TagInfo("OFF_PHYSICAL_BONUS", 340, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveBonusPhysical", info);
        info = new TagInfo("RET_DAMAGE_PCT", 338, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("retaliationDamagePct", info);
        info = new TagInfo("OFF_PIERCE", 335, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensivePierce", info);
        info = new TagInfo("OFF_ELEMENTAL", 330, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveElemental", info);
        info = new TagInfo("OFF_POISON", 325, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensivePoison", info);
        info = new TagInfo("OFF_AETHER", 320, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveAether", info);
        info = new TagInfo("OFF_CHAOS", 315, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveChaos", info);
        info = new TagInfo("OFF_COLD", 310, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveCold", info);
        info = new TagInfo("OFF_FIRE", 308, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveFire", info);
        info = new TagInfo("OFF_LIGHTNING", 306, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveLightning", info);
        info = new TagInfo("OFF_LIFE", 304, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveLife", info);
        info = new TagInfo("OFF_CRITICAL", 302, TagInfo.RandCategory.JITTER);
        this.map.put("offensiveCritDamage", info);
        info = new TagInfo("OFF_SLOW_LIFE_LEECH", 295, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowLifeLeach", info);
        info = new TagInfo("OFF_SLOW_PHYSICAL", 290, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowPhysical", info);
        info = new TagInfo("OFF_SLOW_BLEED", 285, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowBleeding", info);
        info = new TagInfo("OFF_SLOW_COLD", 280, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowCold", info);
        info = new TagInfo("OFF_SLOW_FIRE", 275, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowFire", info);
        info = new TagInfo("OFF_SLOW_LIGHTNING", 270, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowLightning", info);
        info = new TagInfo("OFF_SLOW_POISON", 265, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowPoison", info);
        info = new TagInfo("OFF_SLOW_LIFE", 260, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowLife", info);
        info = new TagInfo("OFF_LIFE_PERC", 255, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensivePercentCurrentLife", info);
        info = new TagInfo("OFF_TOTALDMGRED", 195, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveTotalDamageReductionPercent", info);
        info = new TagInfo("OFF_SLOW_TOTALSPEED", 190, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveSlowTotalSpeed", info);
        info = new TagInfo("OFF_DMGMULT", 188, TagInfo.FlatCategory.ABSOLUTE);
        this.map.put("offensiveDamageMult", info);
        info = new TagInfo("OFF_SLOW_ATTACK", 185, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveSlowAttackSpeed", info);
        info = new TagInfo("OFF_SLOW_OFF_RED", 180, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowOffensiveReduction", info);
        info = new TagInfo("OFF_PHYS_DMG_RED", 175, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensivePhysicalReductionPercent", info);
        info = new TagInfo("OFF_ELEM_DMG_RED", 170, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveElementalReductionPercent", info);
        info = new TagInfo("OFF_SLOW_OFFENSE", 165, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowOffensiveAbility", info);
        info = new TagInfo("OFF_SLOW_DEFENSE", 160, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowDefensiveAbility", info);
        info = new TagInfo("OFF_SLOW_DEF_RED", 155, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowDefensiveReduction", info);
        info = new TagInfo("OFF_SLOW_RUNSPEED", 150, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveSlowRunSpeed", info);
        info = new TagInfo("OFF_TOTALRESRED", 145, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveTotalResistanceReductionAbsolute", info);
        info = new TagInfo("OFF_TOTALRESRED", 140, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveTotalResistanceReductionPercent", info);
        info = new TagInfo("OFF_PHYS_RES_RED_ABS", 135, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensivePhysicalResistanceReductionAbsolute", info);
        info = new TagInfo("OFF_PHYS_RES_RED_ABS", 130, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensivePhysicalResistanceReductionPercent", info);
        info = new TagInfo("OFF_ELEM_RES_RED_ABS", 125, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveElementalResistanceReductionAbsolute", info);
        info = new TagInfo("OFF_ELEM_RES_RED_ABS", 120, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveElementalResistanceReductionPercent", info);
        info = new TagInfo("OFF_MANA_BURN_RATIO", 115, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveManaBurnDamageRatio", info);
        info = new TagInfo("OFF_MANA_BURN_DRAIN", 110, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("offensiveManaBurnDrain", info);
        info = new TagInfo("OFF_SLOW_MANA_LEECH", 105, TagInfo.RandCategory.SCALE_JITTER);
        this.map.put("offensiveSlowManaLeach", info);
        info = new TagInfo("OFF_STUN", 95, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveStun", info);
        info = new TagInfo("OFF_FREEZE", 90, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveFreeze", info);
        info = new TagInfo("OFF_PETRIFY", 85, TagInfo.FlatCategory.DURATION);
        this.map.put("offensivePetrify", info);
        info = new TagInfo("OFF_SLEEP", 80, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveSleep", info);
        info = new TagInfo("OFF_TRAP", 75, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveTrap", info);
        info = new TagInfo("OFF_DISRUPTION", 70, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveDisruption", info);
        info = new TagInfo("OFF_KNOCKDOWN", 65, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveKnockdown", info);
        info = new TagInfo("OFF_CONVERT", 60, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveConvert", info);
        info = new TagInfo("OFF_CONFUSION", 55, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveConfusion", info);
        info = new TagInfo("OFF_FEAR", 50, TagInfo.FlatCategory.DURATION);
        this.map.put("offensiveFear", info);
        info = new TagInfo("RET_TOTALDAMAGE", 390);
        this.map.put("retaliationTotalDamage", info);
        info = new TagInfo("RET_PHYSICAL", 380);
        this.map.put("retaliationPhysical", info);
        info = new TagInfo("RET_PIERCE", 370);
        this.map.put("retaliationPierce", info);
        info = new TagInfo("RET_ELEMENTAL", 360);
        this.map.put("retaliationElemental", info);
        info = new TagInfo("RET_POISON", 355);
        this.map.put("retaliationPoison", info);
        info = new TagInfo("RET_AETHER", 350);
        this.map.put("retaliationAether", info);
        info = new TagInfo("RET_CHAOS", 345);
        this.map.put("retaliationChaos", info);
        info = new TagInfo("RET_COLD", 340);
        this.map.put("retaliationCold", info);
        info = new TagInfo("RET_FIRE", 335);
        this.map.put("retaliationFire", info);
        info = new TagInfo("RET_LIGHTNING", 330);
        this.map.put("retaliationLightning", info);
        info = new TagInfo("RET_LIFE", 325);
        this.map.put("retaliationLife", info);
        info = new TagInfo("RET_SLOW_LIFE_LEECH", 295);
        this.map.put("retaliationSlowLifeLeach", info);
        info = new TagInfo("RET_SLOW_PHYSICAL", 290);
        this.map.put("retaliationSlowPhysical", info);
        info = new TagInfo("RET_SLOW_BLEED", 285);
        this.map.put("retaliationSlowBleeding", info);
        info = new TagInfo("RET_SLOW_COLD", 280);
        this.map.put("retaliationSlowCold", info);
        info = new TagInfo("RET_SLOW_FIRE", 275);
        this.map.put("retaliationSlowFire", info);
        info = new TagInfo("RET_SLOW_LIGHTNING", 270);
        this.map.put("retaliationSlowLightning", info);
        info = new TagInfo("RET_SLOW_POISON", 265);
        this.map.put("retaliationSlowPoison", info);
        info = new TagInfo("RET_SLOW_LIFE", 260);
        this.map.put("retaliationSlowLife", info);
        info = new TagInfo("RET_LIFE_PERC", 255, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationPercentCurrentLife", info);
        info = new TagInfo("RET_SLOW_ATTACK", 185, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationSlowAttackSpeed", info);
        info = new TagInfo("RET_SLOW_OFF_RED", 180);
        this.map.put("retaliationSlowOffensiveReduction", info);
        info = new TagInfo("RET_SLOW_OFFENSE", 170);
        this.map.put("retaliationSlowOffensiveAbility", info);
        info = new TagInfo("RET_SLOW_DEFENSE", 165);
        this.map.put("retaliationSlowDefensiveAbility", info);
        info = new TagInfo("RET_SLOW_RUNSPEED", 155, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationSlowRunSpeed", info);
        info = new TagInfo("RET_STUN", 95, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationStun", info);
        info = new TagInfo("RET_FREEZE", 90, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationFreeze", info);
        info = new TagInfo("RET_PETRIFY", 85, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationPetrify", info);
        info = new TagInfo("RET_SLEEP", 80, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationSleep", info);
        info = new TagInfo("RET_TRAP", 75, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationTrap", info);
        info = new TagInfo("RET_CONVERT", 60, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationConvert", info);
        info = new TagInfo("RET_CONFUSION", 55, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationConfusion", info);
        info = new TagInfo("RET_FEAR", 50, TagInfo.FlatCategory.DURATION, TagInfo.RandCategory.FIXED);
        this.map.put("retaliationFear", info);
        info = new TagInfo("RET_SLOW_MANA_LEECH", 40);
        this.map.put("retaliationSlowManaLeach", info);
        info = new TagInfo("STAT_SPEED_TOTAL", 998);
        this.map.put("characterTotalSpeed", info);
        info = new TagInfo("STAT_COOLDOWN_REDUCTION", 996, TagInfo.FlatCategory.PERCENTAGE);
        this.map.put("skillCooldownReduction", info);
        info = new TagInfo("STAT_SKILL_RECHARGE_REDUCTION", 994, TagInfo.ValueType.FLOAT, TagInfo.RandCategory.FIXED);
        this.map.put("skillCooldownTime", info);
        info = new TagInfo("STAT_SPEED_ATTACK", 992);
        this.map.put("characterAttackSpeed", info);
        info = new TagInfo("STAT_SPEED_CAST", 990);
        this.map.put("characterSpellCastSpeed", info);
        info = new TagInfo("STAT_SPEED_RUN", 988, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterRunSpeed", info);
        info = new TagInfo("STAT_SHIELD_RECOVERY_RED", 988, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterDefensiveBlockRecoveryReduction", info);
        info = new TagInfo("STAT_XP_INCREASE", 898, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterIncreasedExperience", info);
        info = new TagInfo("STAT_REQ_REDUCTION", 888, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterGlobalReqReduction", info);
        info = new TagInfo("STAT_RED_LEVEL_REQ", 884, TagInfo.RandCategory.FIXED);
        this.map.put("characterLevelReqReduction", info);
        info = new TagInfo("STAT_RED_ARMOR_STR", 878, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterArmorStrengthReqReduction", info);
        info = new TagInfo("STAT_RED_WEAPON_STR", 868, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterWeaponStrengthReqReduction", info);
        info = new TagInfo("STAT_RED_WEAPON_INT", 856, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterWeaponStrengthReqReduction", info);
        info = new TagInfo("STAT_RED_RANGED_DEX", 848, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterHuntingDexterityReqReduction", info);
        info = new TagInfo("STAT_RED_MELEE_DEX", 838, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterMeleeDexterityReqReduction", info);
        info = new TagInfo("STAT_RED_MELEE_STR", 836, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterMeleeStrengthReqReduction", info);
        info = new TagInfo("STAT_RED_JEWELRY_INT", 828, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterJewelryIntelligenceReqReduction", info);
        info = new TagInfo("STAT_RED_SHIELD_STR", 818, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterShieldStrengthReqReduction", info);
        info = new TagInfo("STAT_CUNNING", 798);
        this.map.put("characterDexterity", info);
        info = new TagInfo("STAT_PHYSIQUE", 796);
        this.map.put("characterStrength", info);
        info = new TagInfo("STAT_SPIRIT", 794);
        this.map.put("characterIntelligence", info);
        info = new TagInfo("STAT_OFF_ABIL_SHORT", 698);
        this.map.put("characterOffensiveAbility", info);
        info = new TagInfo("STAT_DEF_ABIL_SHORT", 696);
        this.map.put("characterDefensiveAbility", info);
        info = new TagInfo("STAT_AVOID_PROJECTILE", 688, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterDeflectProjectile", info);
        info = new TagInfo("STAT_AVOID_MELEE", 686, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterDodgePercent", info);
        info = new TagInfo("STAT_SKILL_HEALTH", 598);
        this.map.put("skillLifeBonus", info);
        info = new TagInfo("STAT_SKILL_HEALTH", 597, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("skillLifePercent", info);
        info = new TagInfo("STAT_HEAL_INC", 596, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.JITTER);
        this.map.put("characterHealIncreasePercent", info);
        info = new TagInfo("STAT_REGEN_HEALTH", 595);
        this.map.put("characterLifeRegen", info);
        info = new TagInfo("STAT_HEALTH", 594);
        this.map.put("characterLife", info);
        info = new TagInfo("STAT_CONSTITUTION", 592);
        this.map.put("characterConstitution", info);
        info = new TagInfo("TXT_UNI_RACE_DAMAGE", 498, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("racialBonusPercentDamage", info);
        info = new TagInfo("STAT_REGEN_ENERGY", 488);
        this.map.put("characterManaRegen", info);
        info = new TagInfo("STAT_MANACOST_REDUCTION", 478, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("skillManaCostReduction", info);
        info = new TagInfo("STAT_ENERGY_ABSORB", 468, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterEnergyAbsorptionPercent", info);
        info = new TagInfo("STAT_ENERGY", 398);
        this.map.put("characterMana", info);
        info = new TagInfo("STAT_ENERGY_LIMIT", 396);
        this.map.put("characterManaLimitReserve", info);
        info = new TagInfo("STAT_ENERGY_RESERVE", 394);
        this.map.put("characterManaLimitReserveReduction", info);
        info = new TagInfo("STAT_SKILL_RADIUS", 392, TagInfo.ValueType.FLOAT, TagInfo.RandCategory.FIXED);
        this.map.put("skillTargetRadius", info);
        info = new TagInfo("STAT_PET_SUMMON", 390, TagInfo.RandCategory.FIXED);
        this.map.put("petBurstSpawn", info);
        info = new TagInfo("STAT_PET_LIMIT", 388, TagInfo.RandCategory.FIXED);
        this.map.put("petLimit", info);
        info = new TagInfo("STAT_SKILL_DURATION", 386, TagInfo.ValueType.FLOAT, TagInfo.RandCategory.FIXED);
        this.map.put("skillActiveDuration", info);
        info = new TagInfo("STAT_MAX_LEVEL_INC", 384, TagInfo.RandCategory.FIXED);
        this.map.put("skillMaxLevel", info);
        info = new TagInfo("STAT_TARGET_INC", 382, TagInfo.RandCategory.FIXED);
        this.map.put("skillTargetNumber", info);
        info = new TagInfo("STAT_TARGET_INC", 380, TagInfo.RandCategory.FIXED);
        this.map.put("sparkMaxNumber", info);
        info = new TagInfo("STAT_LIGHT_RADIUS", 298, TagInfo.FlatCategory.PERCENTAGE, TagInfo.RandCategory.FIXED);
        this.map.put("characterLightRadius", info);
    }
}
